iT邦幫忙

2024 iThome 鐵人賽

DAY 20
0

Amazon S3

目錄

S3 簡介

公司需要能夠輕鬆安全地大規模收集、儲存和分析其資料。Amazon S3 是專為從任意位置儲存和檢索任意數量的資料而構建的物件儲存,這些資料包括來自網站和移動應用程式、公司應用程式的資料以及來自物聯網(IoT)傳感器或設備的資料。Amazon S3 是物件級儲存,這意味著如果要更改檔案的一部分,必須先做出更改,然後重新上傳整個修改後的檔案。Amazon S3 將資料作為物件儲存在被稱為儲存桶的資源中。

Amazon S3 是一種受管的雲儲存解決方案,設計為無縫擴展並提供11 個9 的持久性。可以在一個儲存桶中儲存幾乎任意多的物件,還可以在儲存桶中寫入、讀取和刪除物件。在 Amazon S3 中,儲存桶名稱是通用名稱,並且在所有現有儲存桶名稱中必須具有唯一性。物件大小最大為 5TB。預設情況下,Amazon S3 中的資料以冗餘方式儲存在多個設施以及每個設施內的多個設備中。
在 Amazon S3 中儲存的資料不會與任何特定的伺服器相關聯,且不必自己管理任何基礎設施,可以將任意數量的物件放入 Amazon S3 中。Amazon S3 可儲存數萬億的物件,而且經常會出現每秒鐘數百萬次請求的峰值狀態。
物件可以是幾乎任何資料檔案,例如圖像、影片或伺服器日誌。由於 Amazon S3 可支持大小為幾 TB 的物件,甚至可以將資料庫快照儲存為物件。Amazon S3 還支持使用網際網路通過超文字傳輸協定(HTTP)或安全 HTTP(HTTPS)對資料進行低延遲訪問,因此,可以隨時隨地檢索資料。也可以通過 Virtual Private Cloud (VPC)終端節點私下訪問 Amazon S3。可以使用 AWS Identity and Access Management (IAM)政策、Amazon S3 儲存桶政策,甚至每個物件的訪問控制列表,對哪些人員可以訪問資料進行精細控制。

預設情況下,所有資料都不會公開,但也可以加密傳輸中的資料,並選擇為物件啓用伺服器端加密。可以通過基於 Web 的 AWS 管理控制台、通過 API 和軟體開發工具包以編程方式或通過第三方解決方案(使用 API 或軟體開發工具包)訪問 Amazon S3。
Amazon S3 包含事件通知功能,能讓設定在發生特定事件(例如向儲存桶上傳物件或從特定儲存桶中刪除物件)時自動發出通知。這些通知可以發送給管理者,也可用於觸發其他行程,如 AWS Lambda 函數。藉助儲存類分析,可以分析儲存訪問模式,並將正確的資料轉移到正確的儲存。Amazon S3 Analytics 功能可自動識別最佳生命週期政策,將不常訪問的儲存類轉換為「 Amazon S3 標準–不頻繁訪問」( Amazon S3 標準– IA)。可以配置儲存類分析政策,以監視整個儲存桶、址首或物件標籤。觀察到不頻繁訪問模式時,可以根據結果輕鬆創建新的生命週期期限政策。儲存類分析還在 AWS 管理控制台中提供每天的儲存使用情況可視化結果。可以將這些資訊導出到 Amazon S3 儲存桶,以使用商業智能(BI)工具(如Amazon QuickSight)進行分析。

Amazon S3 提供一系列適合不同使用案例的物件級儲存類。這些類包括:

  • Amazon S3 標準–「Amazon S3 標準」旨在為頻繁訪問的資料提供高持久性、高可用性和高性能的物件儲存。「Amazon S3 標準」提供較低的延遲和較高的吞吐量,因此非常適合各種使用案例,包括雲端應用程式、動態網站、內容分發、移動和遊戲應用程式以及大資料分析。
  • Amazon S3 智慧型分層– Amazon S3 智慧型分層儲存類旨在通過自動將資料移至最經濟高效的訪問層來最佳化成本,同時不會影響性能或產生營運開銷。每個物件每月只需支付少量的監控和自動化費用,Amazon S3 即可監控Amazon S3 智慧型分層中物件的訪問模式,並將連續30 天未訪問的物件移動到不頻繁訪問層。如果訪問不頻繁訪問層中的物件,則該物件會自動移回頻繁訪問層。在使用Amazon S3 智慧型分層儲存類時不收取檢索費用,並且在訪問層之間移動物件時不收取額外費用。它非常適合訪問模式未知或不可預測的長期存在的資料。
  • Amazon S3 標準–不頻繁訪問(Amazon S3 標準– IA)–「Amazon S3 標準– IA」儲存類用於不頻繁訪問但必要時要求快速訪問的資料。「Amazon S3 標準– IA」設計為提供與「Amazon S3 標準」相同的高持久性、高吞吐量和低延遲,並且每GB 的儲存價格和檢索費用都較低。成本較低且性能出色使得「Amazon S3 標準– IA」很適合長期儲存和備份,以及用作災難恢復檔案的資料儲存。
  • Amazon S3 單區–不頻繁訪問(Amazon S3 單區– IA)–「Amazon S3 單區– IA」用於不頻繁訪問但必要時要求快速訪問的資料。與其他將資料儲存在最少三個可用區中的 Amazon S3 儲存類不同,「Amazon S3 單區– IA」將資料儲存在單個可用區中,並且成本比「Amazon S3 標準– IA」低。「Amazon S3 單區– IA」很適合這些客戶:想使用成本較低的選項來儲存不頻繁訪問的資料,但不需要「Amazon S3 標準」或「Amazon S3 標準– IA」的可用性和彈性。對於儲存本地資料或可輕鬆重新創建的資料的輔助備份副本,它是一個很好的選擇。您還可使用它經濟高效地儲存使用Amazon S3 跨區域複寫從另一AWS 區域複寫的資料。
  • Amazon S3 Glacier – Amazon S3 Glacier 是安全、持久且成本低的儲存類,適用於資料歸檔。可以放心儲存任意數量的資料,成本與本地解決方案相當甚至更低。為了保持成本低廉,同時滿足各種需求,Amazon S3 Glacier 提供三種檢索選項,各自的檢索時間從數分鐘到數小時不等。可直接將物件上傳到 Amazon S3 Glacier,或使用 Amazon S3 生命週期政策在適用於活動資料的任何 Amazon S3 儲存類(Amazon S3標準、Amazon S3 智慧型分層、Amazon S3 標準– IA、Amazon S3 單區– IA)與Amazon S3 Glacier 之間傳輸資料。
  • Amazon S3 Glacier Deep Archive – Amazon S3 Glacier Deep Archive 是成本最低的Amazon S3 儲存類。它支持長期保留和數字化保存一年可能訪問一到兩次的資料。它專為要將資料集保留7 到10 年或更長時間以滿足監管合規性要求的客戶而設計,尤其是受到高度監管的行業(如金融服務、醫療保健和公共部門)客戶。Amazon S3 Glacier Deep Archive 也可用於備份和災難恢復使用案例。它是一種經濟高效且易於管理的磁帶系統替代方案,無論這些磁帶系統是本地庫還是外部服務。Amazon S3 Glacier Deep Archive 是 Amazon S3 Glacier 的補充,而且它還旨在提供11 個9 的持久性。儲存在 Amazon S3 Glacier Deep Archive 中的所有物件都被複寫並儲存在至少三個地理位置分散的可用區中,並且可在12 小時內還原。

要有效使用 Amazon S3,必須瞭解一些簡單的概念。首先,Amazon S3 將資料儲存在儲存桶內。儲存桶實質上是一組檔案的址首,其名稱必須在所有 Amazon S3 中保持全局唯一。儲存桶是物件的邏輯容器。帳戶中可以擁有一個或多個儲存桶。可以控制每個儲存桶的訪問權限(誰可以在儲存桶中創建、刪除和列出物件)。還可以查看儲存桶及其物件的訪問日誌,並選擇 Amazon S3 儲儲存存桶及其內容的地理區域。

要上傳資料(如照片、影片或文件),請在 AWS 區域創建儲存桶,然後將幾乎任意數量的物件上傳到儲存桶。舉例來說,使用了 Amazon S3 在東京區域創建儲存桶,該區域在 AWS 中由其正式區域程式碼(ap-northeast-1)標識儲存桶具有結構化的 URL,可以使用兩種不同的 URL 樣式來引用儲存桶。

儲存桶路徑式URL 終端節點:
https://s3.ap-northeast-1.amazonaws.com/bucket-name
儲存桶虛擬受管式URL 終端節點:
https:// bucket-name.s3-ap-northeast-1.amazonaws.com

Amazon S3 將檔案稱為物件。一旦擁有儲存桶,立即便可在其中儲存幾乎任意數量的物件。物件由資料和描述該檔案的所有元資料(包括 URL)組成。要將物件儲存到 Amazon S3 中,請將要儲存的檔案上傳到儲存桶。上傳檔案時,可以設定資料和任何元資料的權限。當在 Amazon S3 中創建儲存桶時,它會與特定的 AWS 區域關聯。將資料儲存在儲存桶中時,它會跨選定區域內的多個 AWS 設施進行冗餘儲存。Amazon S3 旨在持久地儲存資料,即使在兩個AWS 設施同時發生資料丟失時也是如此。
在資料增長時,Amazon S3 會自動管理儲存桶背後的儲存。可以立即開始,而資料儲存空間將隨著應用程式需求一起增長。Amazon S3 還可以擴展以處理大量請求。無需預置儲存空間或吞吐量,並且只需為實際使用量付費。

應用 Amazon S3 與常見場景

可以通過控制台、AWS 命令行界面(AWS CLI)或 AWS 軟體開發工具包訪問Amazon S3。還可以使用基於 REST 的終端節點直接訪問儲存桶中的資料。這些終端節點支持 HTTP 或 HTTPS 訪問。要支持這種基於 URL 的訪問,Amazon S3 儲存桶名稱必須在全局唯一,並且符合域名伺服器(DNS)標準。此外,物件鍵應使用對 URL 安全的字元。
這種可儲存幾乎無限數量的資料和可從任意位置訪問資料的靈活性,意味著 Amazon S3適用於各種場景。現在,將考慮 Amazon S3 的一些使用案例:

  • 作為任何應用程式資料的儲存位置,Amazon S3 儲存桶提供了共享位置,用於儲存應用程式的任何實例(包括 Amazon EC2 上的應用程式甚至傳統伺服器)都可以訪問的物件。對於用戶生成的媒體檔案、伺服器日誌或應用程式需要儲存在公共位置的其他檔案來說,此功能可能很有用。此外,由於能通過網際網路直接獲取內容,因此,可以從應用程式中卸載內容提供服務,並允許客戶端直接自行從 Amazon S3 獲取資料。
  • 對於靜態 Web 受管,Amazon S3 儲存桶能提供網站的靜態內容,包括 HTML、CSS、JavaScript 和其他檔案。
  • Amazon S3 的高持久性使其非常適合儲存資料備份。甚至可以將 Amazon S3 配置為支持跨區域複寫,以便一個區域內的 Amazon S3 儲存桶中的資料可以自動複寫到另一個 Amazon S3 區域,從而獲得更高的可用性和災難恢復能力。

Amazon S3 常見場景

  • 備份和儲存–為其他應用程式提供資料備份和儲存服務
  • 應用程式受管–提供用於部署、安裝和管理 Web 應用程式的服務
  • 媒體受管–構建冗餘、可擴展且高度可用的基礎設施,以便受管要上傳和下載的影片、照片或音樂
  • 軟體交付–受管可供客戶下載的軟體應用程式

Amazon S3 定價

使用 Amazon S3 時,具體成本因區域和所提出的特定請求而異。只需按實際使用量付費,包括:每月 GB 量;傳出其他區域;以及 PUT、COPY、POST、LIST 和 GET 請求。
一般來說,只需為跨區域邊界的傳輸付費,這意味著不必為傳入到 Amazon S3 的資料,以及從Amazon S3 傳出到同一區域內的 EC2 執行個體,或傳出到 Amazon CloudFront 邊緣站點的資料付費。
當開始估算 Amazon S3 的成本時,需要考慮以下各項:

  1. 儲存類的類型–
    • 標準儲存旨在提供11 個9 的持久性和4 個9 的可用性。
    • 「S3 標準–不頻繁訪問(S-IA)」是Amazon S3 中的一個儲存選項,可用來降低成本,方法是將不頻繁訪問的資料儲存在級別比「Amazon S3 標準」儲存略低的冗餘級別上。「標準–不頻繁訪問」設計為在指定的一年內提供與 Amazon S3 相同的11 個9 的持久性和3 個9 的可用性。每個類具有不同的費率。
  2. 儲存量–儲存在 Amazon S3 儲存桶中的物件數量和大小。
  3. 請求–考慮請求的數量和類型。GET 請求產生的費用的費率與其他請求(如 PUT 和 COPY 請求)不同。
    • GET –從 Amazon S3 中檢索物件。您必須具有 READ 權限才能使用此操作。
    • PUT –向儲存桶添加物件。您必須具有儲存桶的 WRITE 權限才能向其添加物件。
    • COPY –創建已儲存在 Amazon S3 中的物件的副本。COPY 操作與先執行 GET然後執行 PUT 的效果相同。
  4. 資料傳輸–考慮傳出 Amazon S3 區域的資料量。請注意,資料傳入免費,但資料傳出收費。

上一篇
D19-申請 AWS 帳戶
下一篇
D21-實驗:使用 Amazon S3建立靜態網站
系列文
在AWS上進行物聯網與人工智慧實作30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言